<%-- 
    Document   : paginabusqueda
    Created on : 22/05/2011, 11:01:00 AM
    Author     : Robert
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="javax.jdo.PersistenceManager" %>
<%@ page import="Libros.PMF" %>
<%@ page import="Libros.Libro" %>
<%@ page import="javax.jdo.Query" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Vector" %>
<%@ page session="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<%
    PersistenceManager pm = PMF.get().getPersistenceManager();
    String tipo = (String)request.getParameter("sbuscar");    
    String palabra = (String)request.getParameter("txtbuscar");
    String box = (String)request.getParameter("bexacta");
    HttpSession sesionOk = request.getSession();    
    try{
    if (box!=null) {//ACTIVADO BUSQUEDA EXACTA        
        String query = "select from " + Libro.class.getName() + " order by titulo desc";
        List<Libro> ListaLibros = (List<Libro>) pm.newQuery(query).execute();        
        if(!ListaLibros.isEmpty()){
            if(tipo.equalsIgnoreCase("titulo"))
            {   Vector<Libro>  LL = new Vector();
                for (Libro L : ListaLibros) {                    
                    if(L.getTitulo().equalsIgnoreCase(palabra))
                    {                        
                        LL.add(L);
                    }
                }
                sesionOk.setAttribute("rbusqueda",LL);
                sesionOk.setAttribute("bactivado","true");
                response.sendRedirect("portal.jsp");
            }else{
                Vector<Libro>  LL = new Vector();
                for (Libro L : ListaLibros) {                    
                    if(L.getAutor().equalsIgnoreCase(palabra))
                    {
                        LL.add(L);
                    }
                }
                sesionOk.setAttribute("rbusqueda",LL);
                sesionOk.setAttribute("bactivado","true");
                response.sendRedirect("portal.jsp");
            }
        }
    }else {
        /*SACANDO PALABRAS CLAVES*/
        String claves[] = palabra.split(" ");
        String query = "select from " + Libro.class.getName() + " order by titulo desc";
        List<Libro> ListaLibros = (List<Libro>) pm.newQuery(query).execute();
        if(!ListaLibros.isEmpty()){
            if(tipo.equalsIgnoreCase("titulo"))
            {   Vector<Libro>  LL = new Vector();
                for (Libro L : ListaLibros) {       
                    String claves2[] = L.getTitulo().split(" ");
                    for(int i=0;i<claves2.length;i++){
                        for(int j=0;j<claves.length;j++){
                            out.println(claves2[i]+" : "+claves[j]);
                            if(claves2[i].equalsIgnoreCase(claves[j]))
                            {   
                                LL.add(L);
                            }
                        }
                    }
                }
                sesionOk.setAttribute("rbusqueda",LL);
                sesionOk.setAttribute("bactivado","true");
                response.sendRedirect("portal.jsp");
            }else{
                Vector<Libro>  LL = new Vector();
                for (Libro L : ListaLibros) {       
                    String claves2[] = L.getAutor().split(" ");
                    for(int i=0;i<claves2.length;i++){
                        for(int j=0;j<claves.length;j++){
                            if(claves2[i].equalsIgnoreCase(claves[j]))
                            {                        
                                LL.add(L);
                            }
                        }
                    }
                }
                sesionOk.setAttribute("rbusqueda",LL);
                sesionOk.setAttribute("bactivado","true");
                response.sendRedirect("portal.jsp");
            }
        }
        
     }
       }catch(Exception e)
                 {
                      response.sendRedirect("error404.jsp");
                 }
%>
